import 'package:flutter/foundation.dart';
import 'package:sp_util/sp_util.dart';

class LocaleProvider extends ChangeNotifier {
  // 单例实例
  static final LocaleProvider instance = LocaleProvider._internal();

  // 保存当前语言代码
  String _currentLocale;

  // 私有构造函数
  LocaleProvider._internal() :
        _currentLocale = SpUtil.getString('app_locale', defValue: 'zh')! {
    // 初始化时从本地存储读取语言设置
  }

  // 获取当前语言代码
  String get currentLocale => _currentLocale;

  // 切换语言
  void switchLocale(String locale) {
    if (_currentLocale != locale) {
      _currentLocale = locale;
      // 保存到本地存储
      SpUtil.putString('app_locale', locale);
      // 通知所有监听者
      notifyListeners();
    }
  }

  // 检查是否是中文
  bool get isChinese => _currentLocale == 'zh';

  // 检查是否是英文
  bool get isEnglish => _currentLocale == 'en';
}
